
package com.jf.cloud.im.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jf.cloud.common.serializer.ImgJsonSerializer;

import java.time.LocalDateTime;

/**
 * @author zz
 * @date 2020/8/19
 */
public class MsgItemVO {

    /**
     * 消息id
     */
    private Long itemId;

    /**
     * 聊天类型
     */
    private Integer chatType;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 客服昵称
     */
    private String nickName;

    /**
     * 用户头像
     */
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String userHeadUrl;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 员工id
     */
    private Long employeeId;

    /**
     * 店铺logo
     */
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String shopLogo;

    /**
     * 时间
     */
    private Long timestamp;

    /**
     * 时间
     */
    private String timeStr;

    /**
     * 消息类型
     */
    private Integer type;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 谁发的  0:平台，1:商家， 2:用户
     */
    private Integer source;

    /**
     * 是否已读
     */
    private Integer userUnread;

    /**
     * 是否已读
     */
    private Integer employeeUnread;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * Online新消息提醒
     */
    private Boolean newMessage;

    private Boolean onlineOrOffline;

    public Long getItemId() {
        return itemId;
    }

    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    public Integer getChatType() {
        return chatType;
    }

    public void setChatType(Integer chatType) {
        this.chatType = chatType;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserHeadUrl() {
        return userHeadUrl;
    }

    public void setUserHeadUrl(String userHeadUrl) {
        this.userHeadUrl = userHeadUrl;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public String getShopLogo() {
        return shopLogo;
    }

    public void setShopLogo(String shopLogo) {
        this.shopLogo = shopLogo;
    }

    public Long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(Long timestamp) {
        this.timestamp = timestamp;
    }

    public String getTimeStr() {
        return timeStr;
    }

    public void setTimeStr(String timeStr) {
        this.timeStr = timeStr;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public Integer getUserUnread() {
        return userUnread;
    }

    public void setUserUnread(Integer userUnread) {
        this.userUnread = userUnread;
    }

    public Integer getEmployeeUnread() {
        return employeeUnread;
    }

    public void setEmployeeUnread(Integer employeeUnread) {
        this.employeeUnread = employeeUnread;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Boolean getNewMessage() {
        return newMessage;
    }

    public void setNewMessage(Boolean newMessage) {
        this.newMessage = newMessage;
    }

    public Boolean getOnlineOrOffline() {
        return onlineOrOffline;
    }

    public void setOnlineOrOffline(Boolean onlineOrOffline) {
        this.onlineOrOffline = onlineOrOffline;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    @Override
    public String toString() {
        return "MsgItemVO{" +
                "itemId=" + itemId +
                ", chatType=" + chatType +
                ", userId=" + userId +
                ", userName='" + userName + '\'' +
                ", nickName='" + nickName + '\'' +
                ", userHeadUrl='" + userHeadUrl + '\'' +
                ", shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", employeeId=" + employeeId +
                ", shopLogo='" + shopLogo + '\'' +
                ", timestamp=" + timestamp +
                ", timeStr='" + timeStr + '\'' +
                ", type=" + type +
                ", content='" + content + '\'' +
                ", source=" + source +
                ", userUnread=" + userUnread +
                ", employeeUnread=" + employeeUnread +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", newMessage=" + newMessage +
                ", onlineOrOffline=" + onlineOrOffline +
                '}';
    }
}
